import { request } from '@umijs/max';

/**
 * 调接口取1000条记录
 * @returns
 */
export const loadAllDrugAPI = () =>
  request('/admin/illnesses', {
    params: {
      per: 1000,
    },
  });

export const loadDataAPI = async (
  // 第一个参数 params 查询表单和 params 参数的结合
  // 第一个参数中一定会有 pageSize 和  current ，这两个参数是 antd 的规范
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  params: any & {
    pageSize: number;
    current: number;
  },
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  sort: any,
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  _filter: any,
) => {
  // 这里需要返回一个 Promise,在返回之前你可以进行数据转化
  // 如果需要转化参数可以在这里进行修改
  // const msg = await myQuery({
  //   page: params.current,
  //   pageSize: params.pageSize,
  // });
  // console.log(params)
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  const { pageSize, current, ...others } = params;
  const res = await request('/admin/illnesses', {
    params: { ...others, page: params.current, per: params.pageSize },
  });
  // console.log(res);
  return {
    data: res.data.list, //数据
    // success 请返回 true，
    // 不然 table 会停止解析数据，即使有数据
    success: true,
    // 不传会使用 data 的长度，如果是分页一定要传
    total: res.data.total,
  };
};

/**
 * 根据id取数据
 * @param id
 * @returns
 */
export const loadOneByIdAPI = (id: string) => request('/admin/illnesses/' + id);

/**
 * 新增
 * @param data
 * @returns
 */
export const addOneAPI = (data: any) => {
  return request('/admin/illnesses', {
    method: 'POST',
    data,
  });
};

/**
 * 根据id修改
 * @param id
 * @param data
 * @returns
 */
export const modifyByIdAPI = (id: string, data: any) => {
  return request('/admin/illnesses/' + id, {
    method: 'PATCH',
    data,
  });
};

/**
 * 根据id删除数据
 * @param id
 */
export const deleteByIdAPI = (id: string) => {
  request('//admin/illnesses/' + id, {
    method: 'DELETE',
  });
};

/**
 * 批量删除数据
 * @param ids 多个id用逗号分隔
 * @returns
 */
export const deleteManyByIds = (ids: string) =>
  request('/admin/illnesses', {
    params: {
      ids,
    },
    method: 'DELETE',
  });
